home *** CD-ROM | disk | FTP | other *** search
-
- /* The parameter in the following procedure is S, which is the string
- we want to translate. We return the translated characters in S. */
- translation (S,main_table,sequential_table)
- unsigned char S[]; /* NB: it won't be unsigned by default */
- char main_table[]; /* the main 256-byte collation-lookup table */
- char sequential_table[]; /* list of 2-byte character codes (if any) */
- {
- unsigned int i,j,collation_code;
-
- for (i=0; S[i]!='\0'; ++i) {
- collation_code=main_table[S[i]];
- for (j=0; sequential_table[j]!='\0'; j+=3) {
- if (S[i]==sequential_table[j] && S[i+1]==sequential_table[j_1]) {
- S[i]=sequential_table[j+2];
- break; } }
- /* Note: if language is German, put a line here for
- translating the eszet (usually code 225) to SS. Note that
- results in a size increase. */
- S[i]=collation_code; } }
-